// userStores.ts
import { defineStore } from 'pinia';
// defineStore 是 Pinia 提供的一个函数，用于定义一个 store。
// 通过它可以创建一个包含状态（state）、行动（actions）和获取器（getters）的状态管理容器


// useUserStore 是一个函数，调用它可以获取 user store 的实例
// 'user' 是 store 的唯一标识符，用于在应用中区分不同的 store
export const useUserStore = defineStore('user', {

  // userInfo 是一个状态属性，初始值为 null。它的类型被定义为 { username: string; password: string; role: string } | null，表示可以是一个包含 username、password 和 role 属性的对象，也可以是 null
  state: () => ({
    userInfo: null as { username: string; password: string; role: string } | null,
  }),


  actions: {
    // setUserInfo 是一个行动方法，用于设置用户信息,将传入的对象赋值给 this.userInfo，并打印更新后的用户信息
    setUserInfo(info: { username: string; password: string; role: string }) {
      this.userInfo = info;
      console.log('用户信息已更新:', this.userInfo);
    },
    // getUserInfo 是一个行动方法，用于获取当前存储的用户信息
    getUserInfo() {
      return this.userInfo;
    },
  },
});
//初始化用户数据
//set值
//get值
//清空值